home *** CD-ROM | disk | FTP | other *** search
/ PCMania 32 / PCMania CD32_2.iso / sharewar / emula / c6411b / c64s.doc next >
Text File  |  1994-10-09  |  45KB  |  1,207 lines

  1.                               
  2.                               
  3.             C64S - Commodore 64 Software Emulator
  4.             Registered version 1.1B, October 1994
  5.                  (C) 1991-1994 Miha Peternel
  6.                               
  7.  
  8.  
  9.                               
  10.                               
  11.                               
  12.                      C64S USER'S MANUAL
  13.                               
  14.  
  15.  
  16.  
  17.                               
  18.                               
  19.  This document is (C) 1994 by Miha Peternel. No part of this
  20.  document may be reprinted without written permission of the
  21.                            author.
  22.  
  23.  
  24.  
  25.                     ____________________
  26.                        1. INTRODUCTION
  27.                               
  28.  
  29. Welcome to a software emulator of the good old fat C64. It
  30. will allow you to run most of the original C64 software on
  31. your PC.
  32.  
  33. The C64S emulator and accompanying utilities are copyrighted
  34. (C) 1994 by Miha Peternel and may not be copied, sold, hired
  35. or distributed in any way without written permission of the
  36. author. C64 and 1541 ROM code is copyrighted (C) by Commodore
  37. Business Machines.
  38.  
  39. Minimum requirements:
  40. - 386 or better
  41. - 640K RAM (500K low ram free)
  42. - VGA display (register compatible)
  43. - DOS 3.0 or newer
  44.  
  45. Optional:
  46. - a soundcard:
  47.   Gravis UltraSound (best for sound output)
  48.   Sound Blaster (all versions or DSP compatible soundcards)
  49.   Pro Audio Spectrum (8 or 16 bit PCM)
  50.   Covox or compatible DAC (digital to analog converter)
  51. - PC joystick (1 or 2)
  52. - tape/floppy interface
  53.  
  54. You need at least a cached 386DX40 with a fast VGA for real
  55. time emulation. A soundcard is recommended, though the sound
  56. can also be played through PC speaker (at rather low
  57. quality).
  58.  
  59. The following files are essential for proper emulator
  60. operation:
  61. - C64S.EXE          C64 Software Emulator (386+)
  62. - SYSTEM.EXE        C64S system emulation (386+)
  63. - CONFIG.EXE        C64S hardware configuration utility (286+)
  64. - ROMCODE.C64       C64 and 1541 ROM code
  65. - SIDWAVES.C64      SID waveforms
  66.  
  67. The following utilities make the life easier:
  68. - COM1541.EXE       Transfers 1541 disk contents to .D64 files (286+)
  69. - TAPEIO.EXE        Turbo Tape loader for PC (286+)
  70. - MAKETAPE.EXE      Creates .T64 files and imports .PRG files (286+)
  71. - FIXTAPE.EXE       Fixes bad CONV64 created .T64 files (286+)
  72.  
  73. Documentation:
  74. - C64S.DOC          A guide to the emulator you are reading
  75. - LPT64.DOC         LPT64 connector description
  76. - LPT1541.DOC       1541 connection scheme
  77. - LPTTAPE.DOC       Tape recorder connection scheme
  78. - T64.DOC           .T64 file structure
  79. - D64.DOC           .D64 file structure
  80.  
  81.                    ______________________
  82.                       2. CONFIGURATION
  83.                               
  84.  
  85. C64S comes with an automated configuration program, which
  86. lets you easily configure emulator options to best suit your
  87. hardware. To start the configuration program change to C64S
  88. directory and type on the command line:
  89.  
  90.      CONFIG
  91.  
  92. Or in case of any troubles:
  93.  
  94.      CONFIG -s
  95.  
  96. The configuration program will autodetect the presence of
  97. soundcards, analogue joysticks and parallel (LPT) ports.
  98. Some users may have many add-on cards installed in the
  99. computer in which case the autodetection procedures may fail
  100. or even crash the computer. If you notice any such trouble
  101. try running the configuration program with -s switch as
  102. suggested above. This switch will tell the program to skip
  103. autodetection procedure.
  104.  
  105. The configuration program will then try to read current
  106. saved settings. If no settings are saved, it will use
  107. default settings. Also, you can always use -d switch to use
  108. default settings instead of the saved settings.
  109.  
  110. In the configuration screen, you may use Up and Down arrows
  111. to move around, Left, Right and Enter keys to change the
  112. highlighted setting.
  113.  
  114.  
  115. Configuration overview:
  116.  
  117. - Sound Output
  118. C64S can autodetect Gravis UltraSound, Sound Blaster (or
  119. true DSP compatible) and Pro Audio Spectrum soundcards. If
  120. the sound output is set to Autodetect, the priority of
  121. selecting sound output is: GUS, PAS, SB, PC speaker. If the
  122. configuration program fails to detect your soundcard's port,
  123. try setting it manually in the configuration screen. Note
  124. that C64S can autodetect and use PAS soundcard only if
  125. MVSOUND.SYS device driver is loaded (this is done by the PAS
  126. installation program). The sound synchronization option
  127. determines at what level the emulator synchronizes emulated
  128. sound output with real sound output. Setting sound
  129. synchronization to High enables C64S to reproduce digital
  130. speech and other digital effects flawlessly, whereas Low
  131. setting saves some CPU time.
  132.  
  133. - Analogue joysticks
  134. If this option is set to Autodetect, C64S will autodetect
  135. the number of analogue PC joysticks connected. Setting this
  136. option to 1 or 2 joysticks will force C64S to read the
  137. selected number of  joysticks. C64S provides two methods of
  138. scanning joysticks. Compensating mode takes less CPU time
  139. but might fail with some joysticks or newer "speed
  140. compensating" game ports. Compatible mode will work with all
  141. joysticks. You are advised to try Compensating mode first.
  142. If it fails, change to Compatible mode.
  143.  
  144. - Video mode
  145. C64S works in two VGA modes. Default Extended mode is VGA
  146. 368*240 pixels, 16 colours. Compatible mode is provided in
  147. case you are running the emulator on a laptop with LCD
  148. display or if your VGA system cannot display Extended mode.
  149. Compatible mode is standard VGA 320*200 pixels, 16 colours.
  150.  
  151. - External devices
  152. C64S supports real-time communication with external CBM
  153. devices connected to PC's LPT port. Setting Use external
  154. devices must be set to Autodetect or to Yes to use any
  155. external device. If you don't use any external devices set
  156. Use external devices to No to speed up emulator loading. The
  157. same goes for External 1541 drive and External CBM printer
  158. settings. C64S can autodetect printer as device 4 or 5, and
  159. 1541 or compatible disk drives as devices 8-11. The lowest
  160. device number (8-11) not assigned to external 1541 drive is
  161. assigned to emulated 1541 drive. The lowest device number (4-
  162. 5) not assigned to external CBM printer is assigned to PC
  163. printer.
  164.  
  165. - PC printer port
  166. This port setting is used for direct PC printer
  167. communication. Default setting is LPT1, but you may need to
  168. change this setting if you have more than one LPT port. If
  169. you try to assign a non-existing LPT port, the selection
  170. will be marked as not available (N/A).
  171.  
  172. - Tape port & CBM IEEE port
  173. These port settings are used by TAPEIO and COM1541
  174. utilities. CBM IEEE port is also used for direct 1541 and
  175. CBM printer communication. If you have only one available
  176. LPT port it will be autodetected. If you have many you are
  177. recommended to use LPT2 or LPT3 since LPT1 is usually a
  178. printer port. In case of a non-existing LPT port assignment
  179. the selection will be marked as not available (N/A).
  180.  
  181. IMPORTANT: If you run C64S in multitasking environment
  182. (Windows, OS/2), you are strongly advised to disable sound
  183. output and set joystick scanning mode to Compatible. This
  184. will prevent general slow down and other difficulties in
  185. such environments, but still won't make possible to use
  186. external CBM devices. If you have a GUS, you may have sound
  187. enabled, but it may conflict with soundcard drivers used by
  188. operating system. Exit environment and run C64S from plain
  189. DOS to enjoy full emulation performance.
  190.  
  191. When you have finished with configuration, press End and
  192. Return to save settings and exit. You may always press Esc
  193. to abort configuration without saving.
  194.  
  195.                      ___________________
  196.                        3. FIRST STEPS
  197.                               
  198.  
  199. This step by step introduction is here to help beginners use
  200. the emulator for the first time:
  201.  
  202. 1. If you are running the emulator for the first time, and
  203. you have not run the CONFIG utility yet, please refer to the
  204. previous chapter for the information about hardware
  205. configuration.
  206.  
  207. 2. Run the emulator by changing to the emulator's directory
  208. (if necessary) and typing on the DOS command line:
  209.  
  210.      C64S
  211.  
  212.   The well-known blue C64 screen appears.
  213.  
  214. 3. Press F9 to get to the emulator desktop. Press ALT T to
  215. reach tape file screen or ALT D to reach disk file screen.
  216. Select an image file using arrow keys and press ENTER. The
  217. selected image file is now "open" and you will enter the
  218. directory screen with the list of files stored in the image
  219. file.
  220.  
  221. 4. Select a program with cursor keys and press L to load it.
  222. Pressing ENTER instead of L will return you to C64 screen.
  223. In this case you need to press SHIFT+TAB (which equals
  224. SHIFT+RUN/STOP) to load a tape program and run it
  225. automatically. To load and run a disk program type
  226. LOAD"NAME",8,1 and RUN.
  227.  
  228. 5. Press F10 to enter joystick option screen. Configure the
  229. joystick port emulation as you wish. You can even change the
  230. keys to emulate joysticks. IMPORTANT: If you are using
  231. analogue PC joystick and you are running the emulator for
  232. the first time, press `R' and follow the steps to
  233. recalibrate the joystick.
  234.  
  235. 6. After you have finished configuring joystick settings,
  236. press ESC to get back to C64 screen and enjoy the nostalgia.
  237. :)
  238.  
  239. 7. You can always press F10 to enter option screen, where
  240. you can adjust numerous emulation settings to improve the
  241. behaviour of the program you are running.
  242.  
  243. 8. When bored press CTRL-ALT-DEL or CTRL-ALT-INS to reset
  244. the emulator and proceed from step 3.
  245.  
  246. 9. CTRL-BREAK gets you back to DOS prompt.
  247.  
  248. Please read the following chapters for more information on
  249. emulator behaviour.
  250.  
  251.                       ________________
  252.                         4. IN ACTION
  253.                               
  254.  
  255. The emulator emulates all the components of C64 needed to
  256. make the programs run correctly, display genuine graphics,
  257. synthesize sound, and emulate I/O operations.
  258.  
  259. The keyboard layout is original C64 with some exceptions due
  260. to a different PC layout.
  261.  
  262. Some special emulator features make the work with the
  263. emulator easier. The tapes and disks to be used with the
  264. emulator are stored in a special format (referred to as
  265. image files) on the hard disk. You can select the tape
  266. position or a disk using emulator desktop. Emulation
  267. settings can be changed either with the CONFIG program
  268. (hardware settings) or in the option screen (other
  269. settings).
  270.  
  271. The following keys have special meaning:
  272. - F9 enters emulator desktop
  273. - F10 enters joystick option screen
  274. - F11 pressed prevents screen updates
  275.   Great for uninterrupted sound reproduction !!!
  276. - ESC is an exit/cancel key
  277. - CTRL+BREAK exits the emulator
  278. - CTRL+ALT+DEL or CTRL+ALT+BackSpace emulate reset
  279. - CTRL+ALT+INS causes brutal reset (for reset-protected
  280. programs, actually it rewrites the CBM80 sign and performs a
  281. normal reset)
  282. - PRINT SCREEN captures screen to a Windows bitmap file
  283. (filename C64S0xxx.BMP)
  284.  
  285. Table of replaced keys with their equivalents:
  286. - C=           Alt
  287. - Ins/Del      BackSpace
  288. - Clr/Home     Home
  289. - £            Insert
  290. -             Delete
  291. - Run/Stop     Tab
  292. - Restore      F12
  293.  
  294. Default joystick emulation keys:
  295. - Primary set (1st emulated joystick):
  296.   Default primary set consists of arrow keys and right Alt
  297. key.
  298. - Secondary set (2nd emulated joystick):
  299.      W    up
  300.      S    down
  301.      U    left
  302.      I    right
  303.      O    fire
  304.                   _________________________
  305.                      5. EMULATOR DESKTOP
  306.                               
  307.  
  308. Press F9 in the emulator to enter the emulator desktop. The
  309. desktop consist of multiple screens that allow you to
  310. manipulate the tape and disk images used in the emulation,
  311. you can change several emulation parameters and you can even
  312. monitor the emulator CPU and memory (both C64 and 1541).
  313.  
  314. The top screen line represents the main menu. Press Alt key
  315. to enter main menu. Move around with arrow keys and select a
  316. topic by pressing enter. Or, you can select a main menu
  317. topic directly by pressing Alt plus the highlighted letter.
  318.  
  319. In all the the desktop screens the bottom screen line lists
  320. the actions available. Press the higlighted letter (without
  321. Alt!) to select the action. Enter will always select the
  322. left-most action.
  323.  
  324. The following is the list of desktop screens and functions
  325. available:
  326.  
  327.  
  328. 3.1. TAPE
  329.  
  330. The tape file screen lets you select the tape image file to
  331. be used in the emulation. Move around with arrow keys, press
  332. Enter to select the tape or change the directory. When you
  333. select a tape image file, you will enter the tape directory
  334. screen. Move around and press Enter to set the tape pointer
  335. position. You will get back to the emulation screen. When
  336. you enter the LOAD command or (Shift+Tab to LOAD and RUN),
  337. the emulator will read a file from the position set in the
  338. tape directory menu. When saving a file, the emulator will
  339. always add a file to the end of the tape image, regardless
  340. of the position set (it will not overwrite anything). You
  341. can load and run a program easily by pressing L in the tape
  342. directory screen.
  343.  
  344. The actions available in the tape file screen are:
  345. - Open
  346.   Opens the highlighted tape image file and enters tape
  347. directory screen (equivalent is Enter).
  348. - Files
  349.   If a tape image file is open, it jumps to the tape
  350. directory screen (equivalent is right arrow key).
  351. - Description
  352.   Lets you edit the highlighted tape's description.
  353. - New
  354.   Enter the file name, tape desctription and maximum
  355. directory size and the emulator will create an empty tape
  356. image file.
  357. - CD (Change Drive)
  358.   Press a drive letter (A-Z) to select a drive where the
  359. emulator will search for .T64 files.
  360.  
  361. The actions available in the tape directory screen:
  362. - Set
  363.   Sets tape pointer position and returns to the emulation
  364. screen (equivalent is Enter).
  365. - Load
  366.   Reboots C64, loads highlighted file and runs it.
  367. - Name
  368.   Lets you edit the higlighted file's name.
  369. - Delete
  370.   Deletes the highlited file.
  371. - Import
  372.   Select the file from the file list and the emulator will
  373. import it to the selected tape image file. The files to be
  374. imported must be in the two formats:
  375. - standard 1541 .PRG format:
  376.   2 bytes - load address, other bytes - file data.
  377. - German .Pnn format (nn is in range 00-99)
  378.   8 bytes - "C64File" description, zero terminated
  379.   17 bytes - file name, zero terminated
  380.   1 byte - record size (defaults to 0 for .PRG files)
  381. If the file selected is not in one of the listed two
  382. formats, you may get unexpected results.
  383. - Export
  384.   Saves the highlighted file to a .PRG or .P00 file. All
  385. other extensions default to .PRG format (you can not export
  386. to a .T64 file).
  387. - Freeze
  388.   Saves full emulator state in a file. When you load such a
  389. file, it will start automatically from the point when it was
  390. saved. This function is not yet standardized. That means
  391. that the files you save with this function may not be
  392. loadable in the forthcoming versions of C64S.
  393. - Tape
  394.   Jumps to the tape file screen (equivalent is left arrow
  395. key).
  396.  
  397.  
  398. 3.2. DISK
  399.  
  400. The disk file screen lets you select the disk image file to
  401. be used in the emulation. Move around with arrow keys, press
  402. Enter to select the disk or change the directory. When you
  403. select a disk image file, you will enter the disk directory
  404. screen. Press Enter to set the disk and get back to the
  405. emulation screen.  You can proceed with C64 commands to use
  406. disk image file. You can load and run a program easily by
  407. pressing L in the disk directory screen. Be careful,
  408. changing disk image file when an emulated program uses it
  409. can damage contents of the image file.
  410.  
  411.   Actions in the disk file screen:
  412. - Select
  413.   Selects the disk image to be used in the emulator
  414. (equivalent to pressing Enter).
  415. - Files
  416.   If a disk image file is open, it jumps to the disk
  417. directory screen (equivalent is right arrow key).
  418. - New
  419.   Enter file name, disk title and disk ID and the emulator
  420. will create an empy disk image file. To use it, select it in
  421. the disk file screen.
  422. - CD (Change Drive)
  423.   Press a drive letter (A-Z) to select a drive where the
  424. emulator will search for .D64 files.
  425.  
  426. The actions available in the disk directory screen:
  427. - Set
  428.   Sets disk pointer position and returns to the emulation
  429. screen (equivalent is Enter).
  430. - Load
  431.   Reboots C64, loads highlighted file to original address
  432. and runs it.
  433. - Import
  434.   Select the file from the file list and the emulator will
  435. import it to the selected disk image file. The file to be
  436. imported must be in .PRG or .Pnn format. If the file
  437. selected is not in one of these two formats, you may get
  438. unexpected results.
  439. - Export
  440.   Saves the highlighted file to a .PRG or .P00 file. All
  441. other extensions default to .PRG format (you can not export
  442. to a .T64 file). Currently only PRG files are exported
  443. properly.
  444. - Disk
  445.   Jumps to the disk file screen (equivalent is left arrow
  446. key).
  447.  
  448.  
  449. 3.3. OPTIONS
  450.  
  451.   There are two option screens available: the general
  452. options screen and the joystick options screen.
  453.   The option screen actions are:
  454. - Change
  455.   Changes the higlighted option. It either selects the
  456. highlighted radio button, changes the check box status or
  457. asks the user to edit the higlighted field. If the radio
  458. button list title is highlighted, Change selects the next
  459. radio button.
  460. - Joystick
  461.   Enters joystick option screen.
  462. - General
  463.   Enters general option screen.
  464. - Swap
  465.   Swaps joystick #1 settings with joystick #2 settings. This
  466. is to help you reassign joystick emulation settings.
  467. - Recalibrate
  468.   Runs joystick recalibration. Move joysticks as the
  469. emulator asks you to recalibrate correctly. If the emulator
  470. displays "Cannot recalibrate" message run CONFIG and check
  471. if analogue joysticks are enabled (the option must be set to
  472. Autodetect). If joystick scanning mode is set to
  473. Compensating, try setting it to Compatible. Save
  474. configuration, restart the emulator and run joystick
  475. recalibration again.
  476.  
  477.  
  478. Options overview:
  479.  
  480. - Screen refresh
  481.   C64 updates on-screen picture 50 frames per second in PAL
  482. or 60 frames per second in NTSC version. That means the
  483. emulator must generate A LOT of video data and transfer it
  484. to the VGA card. As this is the most time consuming part of
  485. the emulaton, the emulator allows you to control the screen
  486. refresh rate thus making possible to achieve original
  487. emulation speed also on slower PC computers. However, if the
  488. screen refresh rate is to low, it might affect the animation
  489. smoothnes, or, in some cases, it will disturb the functions
  490. that depend on accurate screen refresh rates, per example
  491. some games use hardware sprite collision detection, which
  492. occurs only when the screen is updated. Keep this in mind if
  493. you notice such problems (bullets flying through objects or
  494. similar).
  495. Screen refresh settings:
  496. - Synchronized
  497.   Automatically synchronizes the screen refresh rate with
  498. the speed of your computer. It will autoselect the screen
  499. refresh rate between original refresh rate and the custom
  500. frame rate. This way you can limit the lowest frame rate. It
  501. is advised that you input the custom frame rate between 1/3
  502. and 1/10 and set the screen refresh to synchronized.
  503. - Original
  504.   Selects original screen refresh rate (1/1).
  505. - Custom
  506.   Selects custom screen refresh rate. 1/X means 1 out of X
  507. frames is displayed. 1/1 means each frame is displayed, 1/10
  508. means only every 10th frame is displayed thus saving 90%
  509. time for faster CPU emulation.
  510.  
  511. - CPU speed
  512.   C64's 6510 CPU runs at a fixed clock speed of around 1
  513. MHz. The emulator lets you control the CPU speed, which is
  514. useful in some applications. However, to achieve higher CPU
  515. speeds you need a fast PC (486/66 will run at 250-450%
  516. speed). The percentage displayed in the parantheses in the
  517. general option screen is the current estimated speed.
  518.   CPU speed settings:
  519. - Original
  520.   Tries to near original (100%) speed.
  521. - Maximum
  522.   Forces maximum achievable speed.
  523. - Custom
  524.   Use this setting to force a desired speed.
  525. IMPORTANT: To achieve higher CPU speeds, you must set the
  526. screen refresh to synchronized or to custom at a frame rate
  527. in range of 1/10.
  528.  
  529. - VIC options
  530.   The emulator lets you control sprite emulation in order to
  531. gain faster emulation or to cheat in the games that rely on
  532. the VIC chip when detecting object collisions. Set all
  533. options to back to "on" for original emulation.
  534.  
  535. - Machine type
  536.   There were two major types of C64 machines manufactured
  537. for two different TV standards: PAL (used in Europe) and
  538. NTSC (used in USA). Though most of the programs will run ok
  539. independent of this setting, the emulator lets you switch
  540. between the machine types to gain better compatibility. Try
  541. changing this setting when you notice on-screen garbage or
  542. music playing either too fast or too slow.
  543.  
  544. - Joystick options
  545.   You can control the emulation of two C64 joystick ports.
  546. You can use keyboard emulation or analogue joystick
  547. emulation. To use analogue joysticks, they must be enabled
  548. in the hardware configuration (set to Autodetect or the
  549. number of joysticks connected) and successfully
  550. recalibrated.
  551.   The emulator allows you to define two joystick key sets.
  552. Primary key set is used, when only one jostick is emulated.
  553. Both key sets are used, when both joysticks are emulated by
  554. keyboard. In this case primary key set emulates joystick
  555. port #2, and secondary key set emulates joystick port #1.
  556.   IMPORTANT: When the keyboard joystick emulation is
  557. enabled, the keys used for joystick emulation don't respond
  558. in the original way anymore. Per example: if key 'A' is used
  559. to emulate joystick direction, you won't be able to type
  560. character 'A'. When such conflicts occur, either press F10
  561. and disable keyboard joystick emulation, or change the keys
  562. used for joystick emulation so they will not conflict with
  563. the keys that need to operate originally. Some keyboards
  564. also behave strange when multiple keys are pressed at the
  565. same time. This is the most annoying when emulating
  566. joystick, per example you might notice that you can't move
  567. up-left and shot at the same time. If you notice such or
  568. similar behaviour, try changing the joystick emulation keys.
  569.  
  570.  
  571. 3.4. MONITOR
  572.  
  573.   Built-in monitor lets you watch the programs when running.
  574. In the monitor screen you see:
  575. - 6510 registers (top right)
  576. - 6510 code (top left)
  577. - memory dump (bottom)
  578.   Move around with arrow keys, move faster with Page Up,
  579. Page Down, Home and End keys.
  580.   Data dumped at I/O addresses $D000-$DFFF is the latest
  581. data written or read from the I/O address, it is not always
  582. what CPU will read next.
  583.  
  584. The actions available are:
  585. - Mode
  586.   Switches focus between code and dump.
  587. - Bank
  588.   Selects memory bank. 0-7 selects a C64 bank (equal to low
  589. 3 bits of memory location $01), 8 selects emulated 1541
  590. memory.
  591. - Goto
  592.   Prompts for a new address and jumps to it.
  593. - Find
  594.   Finds data in the memory dump bank. Data must be hex,
  595. numbers longer than 2 digits are treated as word values and
  596. converted to LO/HI when searching.
  597. - Where
  598.   Moves code display to the instruction where emulation was
  599. interrupted.
  600. - Trace (F7)
  601.   Executes one instruction and moves code display.
  602. - Step (F8)
  603.   Steps over the instruction skipping code display of
  604. subroutine branches. In case of a subroutine call, the
  605. subroutine is executed in debug mode. You can interrupt
  606. subroutine execution by pressing Esc.
  607. - Here (F4)
  608.   Sets a breakpoint at the position of code display and runs
  609. C64 emulation in debug mode until CPU reaches the
  610. instruction at the breakpoint or Esc key is pressed.
  611. IMPORTANT: Running C64 emulation in debug mode will cause 30-
  612. 50% slow down. Exit debug mode by pressing Esc, once you
  613. have finished monitoring the programs.
  614.  
  615.  
  616. 3.5. HELP
  617.  
  618.   Online help provides basic information the user needs when
  619. running C64S. It is meant more like online reference and not
  620. a copy of the manual.
  621.  
  622.   Help usage:
  623. - Use arrow keys to move around topics.
  624. - Press Enter or R to jump to the highlighted topic.
  625. - Press I to get help index.
  626. - Use Page Up and Page down keys to list help screens.
  627.  
  628.                          ___________
  629.                            6. TIPS
  630.                               
  631.  
  632. Q: What are the most important changes from version 1.0 to
  633. 1.1 ?
  634. A: There are many:
  635. - improved compatibility
  636. - live disk and printer connection support
  637. - improved sound on GUS, PAS, SB and speaker (all in native
  638. mode)
  639. - disk directory is accessible in the same way as tape
  640. directory
  641. - programs can be loaded easier by pressing L in any
  642. directory screen
  643. - file screens allow drive selection
  644. - COM1541 uses fastloader to import disks 10 times faster
  645. - TAPEIO has been improved to work with any type of LPT port
  646.  
  647. Q: I selected a disk image file in the disk file screen. How
  648. can I use it ?
  649. A: Using 1541 drive operates in the original way. The CBM
  650. DOS commands (except format) work, too. Type LOAD"$",8,1 to
  651. load directory, LIST to see it, LOAD"prg name",8 to load a
  652. program (you may use wildcards) and RUN to start it. To load
  653. a file to its original address, you need to type LOAD"prg
  654. name",8,1. Run a machine code program writing SYS xxxx,
  655. where xxxx is the program entry address (decimal).
  656.  
  657. Q: My display does not show the whole C64 screen !
  658. A: Run CONFIG and set display mode to Compatible. You must
  659. do this if you use a laptop computer with an LCD display.
  660.  
  661. Q: When I press certain keys the emulator seems to dump
  662. random characters, arrows and noumbers !
  663. A: You need to enter joystick option screen (press F10) and
  664. disable joystick emulation. C64 scans keyboard and joysticks
  665. at the same I/O addresses and this is the resulting side
  666. effect.
  667.  
  668. Q: Keyboard joystick emulation does not work O.K. !
  669. A: Try changing joystick emulation keys (press F10). Note
  670. that some keyboards behave strange when multiple keys are
  671. pressed at the same time. If you notice that particular keys
  672. work O.K. when pressed one by one, but malfunction when
  673. pressed together, you must change the joystick emulation
  674. keys (find a combination that will work O.K. with your
  675. keyboard).
  676.  
  677. Q: I have difficulties using analogue joystick. What can I
  678. do ?
  679. A: You must recalibrate it in the joystick option screen
  680. (press F10 and `R'). If the emulator displays the "Cannot
  681. recalibrate" message, exit the emulator, run CONFIG and
  682. check that analogue joystick option is set to Autodetect or
  683. to the correct number of connected joysticks. If joystick
  684. scanning mode is set to Compensating, try setting it to
  685. Compatible. When you change joystick scanning mode, you also
  686. need to recalibrate joysticks in the emulator! Also, if you
  687. are using a single analogue joystick, try assigning analogue
  688. joystick emulation to one port only.
  689.  
  690. Q: The emulator doesn't autodetect my PAS soundcard !
  691. A: Check that MVSOUND.SYS device driver is loaded in your
  692. CONFIG.SYS file. If you installed PAS software properly the
  693. following line should be placed in CONFIG.SYS:
  694.      device=c:\spectrum\mvsound.sys [parameters]
  695. Run PAS installation software to install the driver or read
  696. your PAS User's Guide to find out how to modify CONFIG.SYS
  697. and configure MVSOUND.SYS.
  698.  
  699. Q: Can I use PC printer with emulated C64 programs ?
  700. A: Yes, but only for pure text output. Printing graphics or
  701. changing text attributes will not work, because CBM printers
  702. and PC printers use different sets of control codes. To use
  703. PC printer, you must run CONFIG and select the LPT port
  704. where your printer is connected (default is LPT1 which will
  705. work OK, if you only have one LPT port).
  706.  
  707. Q: Can I use 1541 disk drive or CBM printer with emulated
  708. C64 programs ?
  709. A: Yes. Any CBM devices connected to LPT port can be used
  710. with emulated C64 programs. Run CONFIG and check that use of
  711. external devices is enabled or set to autodetect. If you get
  712. into problems, please refer to the configuration section of
  713. the manual.
  714.  
  715. Q: May I run C64S from Windows, Windows NT or OS/2 ?
  716. A: Yes, but C64S runs much slower in such environments. This
  717. slow down especially affects sound output. If you notice any
  718. troubles you are advised to run CONFIG, disable sound output
  719. (set to No sound) and set joystick scanning mode to
  720. compatible.  Run C64S from plain DOS to gain best
  721. performance.
  722.  
  723. Q: DISK IO banner keeps blinking in bottom left corner !
  724. A: DISK IO banner is blinking when a user program is running
  725. in emulated 1541 RAM, usually it's fast loader or protection
  726. code. If the banner keeps blinking forever it probably means
  727. the program got stuck. Press Esc to terminate DISK IO mode.
  728.  
  729. Q: How can I achieve the highest possible emulation speed ?
  730. A: Enter general options screen. Set the CPU speed to
  731. maximum. Set screen refresh to custom and enter custom frame
  732. rate 1/99. If the application does not use sprites set show
  733. sprites to off. Press ESC and watch your application go mad.
  734. To gain even more speed run CONFIG and disable sound
  735. emulation and analogue joysticks. Also, if possible, disable
  736. memory managers like QEMM, EMM and 386MAX. If you are using
  737. Windows or OS/2, try running C64S from plain DOS.
  738.  
  739. Q: I prefer 320*200 graphics resolution used in the demo
  740. version !
  741. A: Run CONFIG and set display mode to Compatible.
  742.  
  743. Q: What is the best soundcard to be used for the sound
  744. emulation ?
  745. A: Gravis UltraSound. It takes the least CPU time and
  746. produces the best output. The new GUS driver uses advanced
  747. wavetable synthesis to generate crystal clear 44 kHz 16 bit
  748. sound output.
  749.  
  750. Q: What to do to listen to C64 tunes on a slower PC ?
  751. A: Run CONFIG and check that sound synchronizing is enabled.
  752. Then run C64S and enter general options screen. First, set
  753. CPU speed to original. Set screen refresh to synchronized
  754. and enter custom frame rate 1/10. Now press ESC. If the
  755. sound seems to be disturbed, hold down F11. If the
  756. reproduction seems to be too slow run CONFIG, disable sound
  757. synchronizing and try again. If this does not help your
  758. computer is unfortunately too slow.
  759.  
  760.                     _____________________
  761.                       7. COMPATIBILITY
  762.                               
  763.  
  764. The following is the compatibility list.
  765. + means implemented and compatible (++ is new from v0.9, +++
  766. is new from v1.0)
  767. - means not implemented or not compatible
  768. * means planned in the future
  769.  
  770.  
  771.   CPU
  772.  
  773. ++ full 6510 instruction set
  774. +++ $01 memory banking and I/O
  775. +++ $00 CPU I/O direction control
  776. + flags (not 100% compatible in decimal operations)
  777. ++ cycle counts
  778. * boundary crossing I/O tricks
  779.  
  780.  
  781.   VIC
  782.  
  783. + all graphic modes
  784. ++ border
  785. ++ open border (upper and lower)
  786. + sprites
  787. ++ interrupts: raster, sprite collisions (no light pen IRQ)
  788. + multiplied sprites
  789. + hardware scroll
  790. + shrunk screen
  791. ++ cycle exact screen changes
  792. ++ DMA
  793. ++ screen snapshots
  794. * forced DMA
  795. * full open border (left and right)
  796. * more $D011 and $D016 tricks
  797.  
  798.  
  799.   SID
  800.  
  801. + supports GUS, SB, DAC and PC speaker
  802. + all 3 channels
  803. +++ channel 3 muting
  804. ++ 8 bit sampled original waveforms
  805. + ADSR envelope control
  806. + master volume control
  807. + pulse width modulation
  808. ++ $D418 amplitude output
  809. +++ 8000 Hz synthesis on PC speaker (6 bit), SB (8 bit) and
  810. PAS (8/16 bit)
  811. +++ 44100 Hz synthesis on GUS (16 bit wavetable)
  812. - no channel to channel effects
  813. * filtering (at least for digital sound effects)
  814. * SB AWE 32 native mode driver
  815.  
  816.  
  817.   CIA 1
  818.  
  819. + keyboard emulation
  820. + joystick emulation
  821. + timer A
  822. ++ timer B
  823. + IRQ control
  824. + IRQ
  825. ++ time of day (C64 synchronized)
  826. +++ time of day alarm
  827. * rebindable keyboard
  828. * serial port
  829.  
  830.  
  831.   CIA 2
  832.  
  833. + VIC bank select
  834. ++ serial bus communication
  835. ++ timer A
  836. ++ timer B
  837. +++ NMI control
  838. +++ NMI
  839. ++ time of day (C64 synchronized)
  840. +++ time of day alarm
  841.  
  842.  
  843.   1541
  844.  
  845. + ROM level emulation (16K RAM & I/O + 16K ROM)
  846. + supports CBM DOS 2.6 commands except format
  847. + fast (ROM trapped) C64 to 1541 connection
  848. + image file operation
  849. ++ 1541 disk transfer utility
  850. ++ emulates direct serial bus communication
  851. +++ supports 35 and 40 track .D64 image files
  852. +++ suppors sector error information
  853. +++ real 1541 connection (LPT port)
  854. * improved (GCR coded) image file format
  855.  
  856.  
  857.   TAPE
  858.  
  859. + ROM trapped LOAD and SAVE routines
  860. + tape image files with directory
  861. + ultra fast loading
  862. ++ TapeIO Turbo Tape loader for PC tape connector
  863. ++ MakeTape utility
  864. * tape digitizing
  865.  
  866.  
  867.   PRINTER
  868.  
  869. +++ supports PC printers (for pure text output only)
  870. +++ supports CBM printers (connected to LPT port)
  871.  
  872.  
  873.   EMU-DETECTION
  874.  
  875. +++ $DFFF read flip flop ($AA,$55)
  876. +++ $DFFE manufacturer code (`S'=C64S)
  877. +++ $DFFC version number ($0112=1.1B)
  878. +++ $DFA0 message (tiltle, version, $0D, copyright, $00)
  879.  
  880.                     _____________________
  881.                       8. FILE TRANSFERS
  882.                               
  883.  
  884. The emulator uses two types of image files to store the
  885. information in the format C64 programs can handle. There are
  886. two types of image files:
  887.  
  888. - .T64 files represent tape image files. Though the C64 tape
  889. drives were slow and unreliable this type of storage on PC
  890. systems has certain advantages over other methods. The most
  891. important is that a tape image file contains a tape
  892. directory with the information about all the files stored in
  893. the image file. This way the user can easily see the
  894. contents and select the file he or she wishes to access.
  895. Instead of slow C64 loader fast PC routines take care of
  896. loading and saving thus minimizing the time necessary for
  897. such operations. The last important feature is that multiple
  898. C64 files can be stored in one tape image file. This helps
  899. the user organize big collections of C64 software. The
  900. emulator provides the tools for manipulating .T64 files: the
  901. tools built in the emulator desktop, MAKETAPE utility for
  902. creating tape image files and importing files, FIXTAPE
  903. utility to fix CONV64 created files and TAPEIO utility,
  904. which is a Turbo Tape loader for PC.
  905.  
  906. - .D64 files represent disk image files. These files are
  907. actually a faithful reproduction of the 1541 formatted
  908. floppy disk contents. They contain the data of all disk
  909. sectors in the order they appear on a real 1541 disk. The
  910. emulator emulates 1541 floppy drive so that emulated C64
  911. programs can read and write emulated disks just like real
  912. disks. Of course, you can store hundreds of floppy disks to
  913. image files and use them simply by selecting them in the
  914. disk file selection screen. The emulator also includes a
  915. COM1541 utility that will let you transfer data from 1541
  916. disks to image files.
  917.  
  918.  
  919.  
  920. 8.1. Using COM1541 utility
  921.  
  922. COM1541 will let you transfer data from 1541 (or compatible)
  923. floppy drive to disk image files that can be used with the
  924. emulator. If you keep a big collection of 1541 disks, you
  925. can now easily transfer them to your PC system.
  926.  
  927. To run COM1541 successfully you need to do the following:
  928.      If  you are running COM1541 for the first time, run
  929.  CONFIG and set the 1541 port to your LPT port's I/O address.
  930.  If you do not know the address you will need to experiment
  931.  to find the right one.
  932.      Connect PC's LPT port and 1541's serial port with the
  933.  cable (please refer to files LPT64.DOC and LPT1541.DOC for
  934.  details about the connection).
  935.  
  936. Then you can run COM1541 by typing on the command line:
  937.  
  938.      COM1541
  939.  
  940. If you are not running COM1541 from the emulator's home
  941. directory, you need to use a switch to specify LPT port I/O
  942. address. Use 1 for 278, 2 for 378 and 3 for 3BC. Example:
  943.  
  944.      COM1541 2
  945.  
  946. COM1541 will try to connect using LPT port at I/O address
  947. 378.
  948.  
  949. Upon successful program execution the 1541 drive led should
  950. blink and the drive motor start running for a while. A short
  951. menu will display on the screen:
  952.  
  953.  [D] Display disk directory
  954.  [I] Import full disk (fast mode, all sectors, all info)
  955.  [A] Import allocated sectors only (normal mode)
  956.  [F] Import full disk (normal mode, all sectors)
  957.  [X] Exit
  958.  
  959. Insert a disk to 1541 drive and press `D' to see the
  960. directory. If  the directory is displayed O.K., everything
  961. is ready for disk transfer. It is up to you to select a
  962. method. Usually selecting `I' will transfer the disks the
  963. fastest and correctly. This method uses a custom fast loader
  964. which works 10 times faster than normal loading mode and
  965. also transfers sector error information which is used by
  966. protected programs. Methods `A' and `F' are provided in case
  967. fast mode fails to work. Method `A' transfers only sectors
  968. marked as allocated in BAM to conserve on transfering time.
  969. Method `F' transfers all sectors like method `I', but
  970. doesn't transfer sector error information.
  971.  
  972. After selecting a transfer method, COM1541 will prompt for a
  973. file name. If a file with the same name already exists it
  974. will be rewritten! You do not need to add an extension,
  975. because COM1541 will add .D64 by default. If no file name is
  976. given, the default file name is IMPORT.D64. If this is the
  977. case, rename the file after transferring to avoid possible
  978. later difficulties.
  979.  
  980. When COM1541 finishes transferring the disk, exit with `X'.
  981. The disk image file is now ready to use with the emulator.
  982. Run C64S and check it.
  983.  
  984.  
  985.  
  986. 8.2. Using TAPEIO utility
  987.  
  988. TAPEIO utility is actually a TURBO TAPE compatible loader
  989. for PC. The files loaded without errors are stored to a .T64
  990. file so they can be used immediately with the emulator. To
  991. use it you need to connect a C64 tape recorder to PC's LPT
  992. port (please refer to files LPT64.DOC and LPTTAPE.DOC for
  993. details about connection). A VGA compatible display is
  994. necessary for graphic display of incoming tape data.
  995.  
  996. The syntax is:
  997.  
  998.      TAPEIO [tapename[.T64]] [port]
  999.  
  1000. If you are running TAPEIO from the emulator's directory it
  1001. will read the tape port selected with the CONFIG utility
  1002. (default setting is 378). If you want to select a different
  1003. port, you must specify it on the command line. Use 1 for
  1004. 278, 2 for 378 and 3 for 3BC. Run TAPEIO with no parameters
  1005. to see the list of LPT port noumbers. TAPEIO will not load
  1006. anything if the port is not set correctly.
  1007.  
  1008. If a .T64 file with the given name does not exist, the
  1009. utility creates an empty tape image file.
  1010.  
  1011. When you run TAPEIO, you are first presented with a record
  1012. joustage screen. The border flashes and there is a red
  1013. (dark) vertical line in the middle of the screen. Now press
  1014. PLAY on the tape recorder. What you should see on the screen
  1015. is the data coming from the tape recorder displayed as
  1016. yellow graphics scrolling up. If the communication is O.K.,
  1017. the yellow graphics should form two jagged stripes. Now you
  1018. can use Left and Right arrow keys to move the red line in-
  1019. between the stripes. Use Up and Down arrow keys to change
  1020. the display scale if necessary. This procedure is required
  1021. to accommodate the loader to the speed of your computer. You
  1022. can use a screw driver to adjust the tape head position in
  1023. order to improve signal quality.
  1024.  
  1025. When the red line is located as described above press Enter
  1026. to start the loader. The loader will start searching for a
  1027. file header. When a header is found, all the data is dumped
  1028. onto the screen. When a file is being loaded, the border
  1029. flashes in blue colours and the increasing percentage is
  1030. displayed on the screen. This percentage tells the amount of
  1031. the file already loaded. If the file is loaded with no
  1032. errors it is added to the tape image file given on the
  1033. command line. TAPEIO will continue loading files until the
  1034. tape image directory is full or it is interrupted by
  1035. pressing ESC.
  1036.  
  1037. Press ESC at any time to exit TAPEIO and return to DOS.
  1038.  
  1039.  
  1040.  
  1041. 8.3. Using MAKETAPE utility
  1042.  
  1043. If you transfer C64 files using the shareware X1541 utility
  1044. or if you download them from a FTP site or a BBS, you will
  1045. probably get the files in the raw C64 format (with usual
  1046. extension .PRG). The files look like: 2 bytes - start
  1047. address, other bytes - code. MAKETAPE allows you to create
  1048. empty tape image files and import raw C64 files. In addition
  1049. to that MAKETAPE also imports .P00 files.
  1050.  
  1051. The syntax is:
  1052.  
  1053.      MAKETAPE [tapename] [file1] [file2] ...
  1054.  
  1055. MAKETAPE first checks if tapename.T64 already exists. In
  1056. this case it opens the file, otherwise it creates an empty
  1057. .T64 file with the given name. If the tapename is succeeded
  1058. by filenames file1, file2..., MAKETAPE adds each file listed
  1059. to the end of the tape file.
  1060.  
  1061. Example:
  1062. You got a file called JOKE.PRG, which you know is a C64
  1063. file. You would like to create a new tape image file named
  1064. "JOKES.T64" and import your file, so you can use it in the
  1065. emulator. The solution is as simple as that:
  1066.  
  1067.      MAKETAPE jokes joke.prg
  1068.  
  1069. Run the emulator, enter tape file screen and you will see a
  1070. new entry "JOKES" listed among other tape image files. You
  1071. can edit the description. Open the tape and "JOKE.PRG" will
  1072. be listed in the tape directory.
  1073.  
  1074.  
  1075. 8.4. Using FIXTAPE utility
  1076.  
  1077. The first demo version of C64S was released without the
  1078. MAKETAPE utility. As a result a quick hack utility CONV64
  1079. appeared. In best efforts to translate C64 software into the
  1080. .T64 format the respective author simply used the
  1081. Cybernoid's header not knowing that a lot of important
  1082. information is stored in the .T64 file. Among other things
  1083. the program end address was not adjusted according to the
  1084. imported file's size. As a side effect many crunched
  1085. programs refused to work, longer programs did not fully load
  1086. and BASIC programs complained with an OUT OF MEMORY message.
  1087. The emulator now checks if it loads from a CONV64 file and
  1088. tries to fix the mess. LOAD ERROR message is generated to
  1089. inform the user something is wrong. If you notice such
  1090. behaviour run FIXTAPE to fix the tape image file. You are
  1091. encouraged to make a copy of the file before trying to fix
  1092. it for safety reasons.
  1093.  
  1094. The syntax of FIXTAPE is:
  1095.  
  1096.      FIXTAPE [tapename1] [tapename2] ...
  1097.  
  1098. FIXTAPE will check all the listed files (tapename.T64). It
  1099. will display Fixed upon successful correction or O.K. if the
  1100. file needs no fixing. Run this utility with one file tape
  1101. images only !
  1102.  
  1103.                        _______________
  1104.                          9. CONTACTS
  1105.                               
  1106.  
  1107. North American representatives:
  1108.  
  1109.         North America orders $69.95us.
  1110.         Outside North America $69.95us + $5.00us SH.
  1111.                         
  1112.         For Credit Card (VISA or MasterCard) orders
  1113.         Phone, Fax, Mail or Email to:
  1114.  
  1115.         Phone:      206.828.9001
  1116.         Fax:        206.828.9011
  1117.         Email:      lab@seattle.wa.com
  1118.         CompuServe: 71202,560
  1119.         FTP:        as.seattlelab.com (204.29.31.1)
  1120.         WWW:        www.seattlelab.com (204.29.31.1)
  1121.         BBS:        206.827.5580 (300 - 28.8 v.fast)
  1122.  
  1123.         For Check or Money Order orders send to:
  1124.  
  1125.         Seattle Lab Inc
  1126.         Attn: c64s Order Processing
  1127.         214 First St.
  1128.         Kirkland, WA 98033
  1129.         U.S.A.
  1130.  
  1131.  
  1132. European representatives:
  1133.  
  1134. Vertrieb, Support und Registrierung für Deutschland,
  1135. Österreich und Schweiz:
  1136.  
  1137.        phs EDV Beratung
  1138.        Michael Penzkofer
  1139.        Davenstedter Str. 10
  1140.        D-30449 Hannover
  1141.  
  1142.        Tel.: 49-511-444 193
  1143.        Fax : 49-511-458 1524
  1144.        BBS : 49-511-455 011  (300..14400 Bd)
  1145.  
  1146.  
  1147. Prodaja in podpora v Sloveniji:
  1148.  
  1149. Prodajo in podporo v Sloveniji izvaja Miha Peternel osebno.
  1150. Cena emulatorja je 2500 SIT, placa se po povzetju. V paket
  1151. ni vkljucen vmesnik za prikljucitev Commodorjevih zunanjih
  1152. enot, vendar dodam navodilo za izdelavo le-tega. Za
  1153. informacije in narocila uporabite enega od spodaj navedenih
  1154. naslovov.
  1155.  
  1156.  
  1157. Author:
  1158.  
  1159. In case you would like to contact me you can choose among
  1160. the addresses listed below. I prefer E-mail, because it's
  1161. the cheapest, the fastest and I will always get the messages
  1162. if addressed to both E-mail addresses. I am looking forward
  1163. to hearing ANY ideas on how to improve the emulator
  1164. (software and documentation). Also, feel free to ask any
  1165. questions.
  1166.  
  1167. E-mail: (preferred)
  1168.   miha@hermes.si
  1169.   miha.peternel@abm.gn.apc.org
  1170. E-mail messages to both addresses if possible.
  1171.  
  1172. Phone:
  1173.   +386-64-311-959 (fax/modem on demand)
  1174.   8-11 PM, Central European Time
  1175.  
  1176. Snail mail:
  1177.   Miha Peternel
  1178.   Pot v Bitnje 66
  1179.   SI-64000 Kranj
  1180.   Slovenia
  1181.  
  1182. Special greets go to: Marko Mäkelä, Uros Platise, Udo van
  1183. den Heuvel, Jeff Gilmour, Gert Ensing, Ulrik/Surprise!
  1184. Productions and Gore/Future Crew.
  1185.  
  1186.                        ______________
  1187.                           CONTENTS
  1188.                               
  1189. 1. Introduction
  1190.  Basic C64S information.
  1191. 2. Configuration
  1192.  Hardware configuration guide.
  1193. 3. First Steps
  1194.  Step by step introduction to C64S system.
  1195. 4. In Action
  1196.  The differences between real and emulated C64.
  1197. 5. Emulator Desktop
  1198.  Detailed description of desktop and built-in tools.
  1199. 6. Tips
  1200.  Trouble shooting and tailoring emulation.
  1201. 7. Compatibility
  1202.  Detailed compatibility list.
  1203. 8. File Transfers
  1204.  A guide on file transfers with C64S utilities.
  1205. 9. Contacts
  1206.  Getting in touch with representatives and the author.
  1207.